1. Field of the Invention
The present invention relates to an image transmission apparatus for distributing images using an IP network (IP image transmission apparatus), and more particularly to a data bus system which is required to realize a live distribution function (UDP transmission) and a server storage function (TCP transmission).
2. Description of the Related Art
IP image transmission apparatus transmit image and encoded audio data by way of UDP transmission for live distribution and store image and encoded audio data by way of TCP transmission in a server. FIG. 7 is a diagram showing an arrangement of an IP image transmission system. As shown in FIG. 7, an IP image transmission apparatus 10 encodes an image captured by a camera 12 and audio data recorded by a microphone incorporated in the camera 12, and sends the encoded data through an IP network 20 to an IP image transmission apparatus 30 by way of UDP transmission as indicated by (2) in FIG. 7. The IP image transmission apparatus 30 decodes the UDP-transmitted encoded data into image and audio data, and outputs them to a TV monitor 32. The IP image transmission apparatus 10 stores the encoded data in a storage medium 14 disposed therein, and sends the stored encoded data through the IP network 20 to a storage server 40 by way of TCP transmission. The storage server 40 stores the stored data in an HDD 42 disposed therein.
According to a live distribution function, data are transmitted in real time according to the UDP with no retransmission process in order to perform the real-time, low-delay live distribution function on an IP network. For transmitting live distribution data, encoded data according to various encoding processes need to be transmitted at transmission rates equal to or higher than a certain transmission rate. Specifically, for realizing real-time transmission at a certain transmission rate, it is necessary to finish the transmission process within a certain time. A minimum unit of such a certain time is a time required to transmit a single UDP packet (live distribution minimum unit time). The live distribution minimum unit time Tlive is expressed by the following equation (1):Tlive=(encoding rate [bps])/(8×UDP packet size [byte])  (1)
The encoding rate refers to a bit rate for encoding image and audio data. In order for a server storage function to store data free of frame losses in a server, storage data are transmitted with reliability according to the TCP with a retransmission process. Therefore, it is a minimum requirement to finish both the live distribution function and the server storage function within the live distribution minimum unit time for simultaneously realizing the live distribution function and the server storage function on the IP network.
FIG. 8 is a diagram showing a distribution of encoded data transfer times in an IP image transmission apparatus. As shown in FIG. 8, an encoded data UDP distribution process is performed within the live distribution minimum unit time Tlive, and a TCP transmission process for the server storage function is performed in idle times other than the UDP distribution process. This is because the UDP distribution process and the TCP transmission process are performed as processes on one CPU. Since TCP packets may be retransmitted for the server storage function, the encoded data are stored in the storage medium and then TCP packets thereof are transmitted. If the same amount of data as in the UDP distribution process cannot be transferred within the idle times, the rate of reading data from the storage medium becomes lower than the rate of writing data into the storage medium, and the storage medium in the IP image transmission apparatus will eventually cause an overflow, resulting in a server storage function breakdown. Accordingly, as described above, in order to realize the live distribution function and the server storage function, the processes for live distribution and server storage have to be performed within a unit time in the IP image transmission apparatus.
FIG. 9 is a block diagram of a conventional IP image transmission apparatus. As shown in FIG. 9, the IP image transmission apparatus includes a video A/D converter 50, an audio A/D converter 52, an image/audio data encoding device 54, a storage medium 56, a memory 58, a main CPU 60, a network control device 62, a network I/F 64, and a CPU bus 66. The main CPU 60 performs a real-time OS 70, an encoding LSI control process 72, a storage control process 74, an IP packet processing process 76, a network transmitting process 78, an http server processing process 80, and an overall apparatus control process 82.
FIG. 10 is a diagram showing data flows in the conventional IP image transmission apparatus. In the IP image transmission apparatus, nine stream data shown in FIG. 10 are transferred in real time as follows:
(1) Encoded Data Transfer:
The encoding LSI control process 72 transfers encoded data to the memory 58 through the CPU bus 66. The encoded data are generated by the image/audio data encoding device 54 from digital video data converted from analog video data by the video A/D converter 50 and digital audio data converted from analog audio data by the audio A/D converter 52.
(2) Encoded Data Reading:
The IP packet processing process 76 reads the encoded data from the memory 58 through the CPU bus 66.
(3) UDP Packetized Data Writing:
The IP packet processing process 76 converts the encoded data into UDP packets, and writes them into the memory 58 through the CPU bus 66.
(4) UDP Data Sending:
The network transmitting process 78 reads the UDP packets from the memory 58 through the CPU bus 66, and transmits the UDP packets through the network control device 62 and the network I/F 64 to the IP network according to the UDP.
(5) Storage Data Writing:
The storage control process 74 reads the encoded data from the memory 58 through the CPU bus 66, and transfers the encoded data to the storage medium 56.
(6) Storage Data Reading:
The storage control process 74 reads the encoded data from the storage medium 56 through the CPU bus 66, and transfers the encoded data to the memory 58.
(7) Encoded Data Reading:
The IP packet processing process 76 reads the encoded data (storage data) from the memory 58 through the CPU bus 66.
(8) TCP Packetized Data Writing:
The IP packet processing process 76 converts the storage data into TCP packets, and write them into the memory 58 through the CPU bus 66.
(9) TCP Data Sending:
The network transmitting process 78 reads the TCP packets from the memory 58 through the CPU bus 66, and transmits the TCP packets through the network control device 62 and the network I/F 64 to the IP network according to the TCP.
FIG. 11 is a diagram showing a distribution of encoded data transferring times in the conventional IP image transmission apparatus. FIG. 11 shows a processing time of the image/audio data encoding device 54, processing times of the storage medium 56, processing times between the CPU 60 and the memory 58, and processing times of the network control device 62 in the live distribution minimum unit time. As shown in FIG. 11, the UDP distribution process from the encoded data transfer (1) through the encoded data reading (2) and the UDP packetized data writing (3) to the UDP data sending (4) is performed, and then the TCP transmission process from the storage data writing (5) through the storage data reading (6), the encoded data reading (7), and the TCP packetized data writing (8) to the TCP data sending (9) is performed. The processing times of the storage data writing (5) and the storage data reading (6) are longer than the other processing times because the accessing rate of the storage medium 56 is lower than the processing rate of the CPU 60 and the processing rate (accessing rate) of the memory 58. Other processes (10) such as a process of communication with the server and an overall apparatus control process are carried out in a time other than the UDP distribution process and the TCP transmission process in the live distribution minimum unit time.
There are needs for an increased encoding rate for increasing the quality of images and sounds for live distribution. The encoding rate shown in FIG. 11 indicates that no remaining time is available if the processes (1) through (10) are performed in the live distribution minimum unit time. A distribution of encoded data transferring times for an encoding rate which is 1.5 times the encoding rate shown in FIG. 11 will be considered below.
FIG. 12 is a diagram showing a distribution of encoded data transferring times in the IP image transmission apparatus for an encoding rate which is 1.5 times the encoding rate. In FIG. 12, the components shown in FIG. 9 remain unchanged. An encoding rate which is 1.5 times the encoding rate shown in FIG. 11 means that the amount of data to be processed in the same live distribution processing unit time as in FIG. 11 increases 1.5 times. Therefore, as indicated by the broken lines in FIG. 12, the UDP distribution processing time from the encoded data transfer (1) to the UDP data sending (4) and the TCP transmission processing time from the storage data writing (5) to the TCP data sending (9) increase 1.5times. However, as shown in FIG. 11, if there is no room for the encoded data transferring time distribution in the live distribution minimum time, the above processes (1) through (9) will not be finished within the live distribution minimum time, but the minimum unit time will be used up until the storage data reading (6) as shown in FIG. 12, with the remaining three processes remaining unfinished. Therefore, if the encoding rate increases 1.5 times, then the server storage function cannot be realized. One solution is to speed up the processes for the increased encoding rate thereby to increase the transfer rate of the CPU bus. An example in which the transfer rate of the CPU bus is doubled when the encoding rate increases 1.5 times will be described below.
FIG. 13 is a diagram showing a distribution of encoded data transferring times in the IP image transmission apparatus for an encoding rate which is 1.5 times and a CPU bus transfer rate which is doubled. The solid and broken lines in the processes (1) through (9) in FIG. 13 show, respectively, processing times at the encoding rate shown in FIG. 11 and processing times at the encoding rate which is 1.5 times, when the transfer rate of the CPU bus 66 is doubled. As shown in FIG. 13, the process performed between the CPU 60 and the memory 58 is speeded up, but the processes of the storage data writing (5) and the storage data reading (6) remain unchanged compared with FIG. 12 because the storage medium 56 is slow itself. Therefore, the minimum unit time is used up somewhere in the storage data reading (7), with the remaining two processes remaining unfinished. Consequently, even when the transfer rate of the CPU bus is doubled, the server storage function cannot be realized if the encoding rate increases 1.5 times. For making the apparatus compatible with an increase in the encoding rate while employing the single CPU bus configuration, it is necessary to employ a storage medium which has a doubled accessing time. With the conventional data bus system, however, only the bus has to be speeded up and a high-speed storage medium has to be employed for increasing the encoding rate, as described above.
Using a high-speed bus results in a need for a high-speed CPU, increasing the power consumption and reducing a design margin. Consequently, a lot of resources are consumed in all aspects, e.g., in the form of a high cost, an increased development cost, etc. If a high-speed storage medium is employed, then a cost increase occurs, and an increase in the mounting area is caused. As a result, the apparatus fails to meet requirements for environment resistance, low power consumption, smaller size, etc.